package modelo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.StringTokenizer;

public class DAOUsuario {
	
	
	//Arreglo de usuarios
	ArrayList<Usuario> usuarios;
	
	/**
	 * Carga los usuarios de la BD y los mete en Objetos
	 */
	public DAOUsuario(){
		
		usuarios = new ArrayList<Usuario>();
		Conexion conexion = new Conexion();
		ArrayList resultado = conexion.getConsulta("SELECT * FROM usuario");

		//Recorrido de los datos y carga de los usuarios
		Iterator<String> it = resultado.iterator();
		while (it.hasNext()) {
			//Guardo en una fila el registro
			String fila = (String) it.next();
			//System.out.println("=>"  + fila);
			StringTokenizer registro = new StringTokenizer(fila, ";");
			
			//Obtengo cada valor del registro
			String usuario_id = registro.nextToken();
			String nombre = registro.nextToken();
			String apellido = registro.nextToken();
			String usuario = registro.nextToken();
			String clave = registro.nextToken();
			int rol_id = Integer.parseInt(registro.nextToken());
			
			Usuario u = new Usuario(usuario_id, nombre, apellido, usuario, clave, rol_id);
			usuarios.add(u);
		}
		
	}
	
	/**
	 * Busca en los usuarios cargados en el ArrayList 
	 * si existen datos coincidentes
	 * 
	 * @param usuario
	 * @param clave
	 * @return
	 */
	public Usuario validarUsuario(String usuario, String clave){
		Iterator<Usuario> it = usuarios.iterator();
		Usuario u = null;
		
		while (it.hasNext()) {
			//Usuario del ArrayList
			u = (Usuario) it.next();
			//Validacion para saber si Existe el usuario
			if(u.getUsuario().equals(usuario) && u.getClave().equals(clave)){
				break;
			}else{
				u = null;
			}
		}
		//Retorna el usuario actual, si es null entonces es que no existe :(
		return u;
	}
}
